package com.jsh.erp.datasource.entities;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class RetailRecordExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public RetailRecordExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCashieridIsNull() {
            addCriterion("cashierid is null");
            return (Criteria) this;
        }

        public Criteria andCashieridIsNotNull() {
            addCriterion("cashierid is not null");
            return (Criteria) this;
        }

        public Criteria andCashieridEqualTo(String value) {
            addCriterion("cashierid =", value, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridNotEqualTo(String value) {
            addCriterion("cashierid <>", value, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridGreaterThan(String value) {
            addCriterion("cashierid >", value, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridGreaterThanOrEqualTo(String value) {
            addCriterion("cashierid >=", value, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridLessThan(String value) {
            addCriterion("cashierid <", value, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridLessThanOrEqualTo(String value) {
            addCriterion("cashierid <=", value, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridLike(String value) {
            addCriterion("cashierid like", value, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridNotLike(String value) {
            addCriterion("cashierid not like", value, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridIn(List<String> values) {
            addCriterion("cashierid in", values, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridNotIn(List<String> values) {
            addCriterion("cashierid not in", values, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridBetween(String value1, String value2) {
            addCriterion("cashierid between", value1, value2, "cashierid");
            return (Criteria) this;
        }

        public Criteria andCashieridNotBetween(String value1, String value2) {
            addCriterion("cashierid not between", value1, value2, "cashierid");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterion("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterion("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterion("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterion("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterion("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterion("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterion("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("end_time is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("end_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(Date value) {
            addCriterion("end_time =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(Date value) {
            addCriterion("end_time <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(Date value) {
            addCriterion("end_time >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("end_time >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(Date value) {
            addCriterion("end_time <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("end_time <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<Date> values) {
            addCriterion("end_time in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<Date> values) {
            addCriterion("end_time not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(Date value1, Date value2) {
            addCriterion("end_time between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("end_time not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andWxpayIsNull() {
            addCriterion("wxpay is null");
            return (Criteria) this;
        }

        public Criteria andWxpayIsNotNull() {
            addCriterion("wxpay is not null");
            return (Criteria) this;
        }

        public Criteria andWxpayEqualTo(BigDecimal value) {
            addCriterion("wxpay =", value, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayNotEqualTo(BigDecimal value) {
            addCriterion("wxpay <>", value, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayGreaterThan(BigDecimal value) {
            addCriterion("wxpay >", value, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("wxpay >=", value, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayLessThan(BigDecimal value) {
            addCriterion("wxpay <", value, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayLessThanOrEqualTo(BigDecimal value) {
            addCriterion("wxpay <=", value, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayIn(List<BigDecimal> values) {
            addCriterion("wxpay in", values, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayNotIn(List<BigDecimal> values) {
            addCriterion("wxpay not in", values, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("wxpay between", value1, value2, "wxpay");
            return (Criteria) this;
        }

        public Criteria andWxpayNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("wxpay not between", value1, value2, "wxpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayIsNull() {
            addCriterion("rmbpay is null");
            return (Criteria) this;
        }

        public Criteria andRmbpayIsNotNull() {
            addCriterion("rmbpay is not null");
            return (Criteria) this;
        }

        public Criteria andRmbpayEqualTo(BigDecimal value) {
            addCriterion("rmbpay =", value, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayNotEqualTo(BigDecimal value) {
            addCriterion("rmbpay <>", value, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayGreaterThan(BigDecimal value) {
            addCriterion("rmbpay >", value, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("rmbpay >=", value, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayLessThan(BigDecimal value) {
            addCriterion("rmbpay <", value, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayLessThanOrEqualTo(BigDecimal value) {
            addCriterion("rmbpay <=", value, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayIn(List<BigDecimal> values) {
            addCriterion("rmbpay in", values, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayNotIn(List<BigDecimal> values) {
            addCriterion("rmbpay not in", values, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("rmbpay between", value1, value2, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andRmbpayNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("rmbpay not between", value1, value2, "rmbpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayIsNull() {
            addCriterion("vipcardpay is null");
            return (Criteria) this;
        }

        public Criteria andVipcardpayIsNotNull() {
            addCriterion("vipcardpay is not null");
            return (Criteria) this;
        }

        public Criteria andVipcardpayEqualTo(BigDecimal value) {
            addCriterion("vipcardpay =", value, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayNotEqualTo(BigDecimal value) {
            addCriterion("vipcardpay <>", value, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayGreaterThan(BigDecimal value) {
            addCriterion("vipcardpay >", value, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("vipcardpay >=", value, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayLessThan(BigDecimal value) {
            addCriterion("vipcardpay <", value, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayLessThanOrEqualTo(BigDecimal value) {
            addCriterion("vipcardpay <=", value, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayIn(List<BigDecimal> values) {
            addCriterion("vipcardpay in", values, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayNotIn(List<BigDecimal> values) {
            addCriterion("vipcardpay not in", values, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("vipcardpay between", value1, value2, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andVipcardpayNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("vipcardpay not between", value1, value2, "vipcardpay");
            return (Criteria) this;
        }

        public Criteria andRechargeIsNull() {
            addCriterion("recharge is null");
            return (Criteria) this;
        }

        public Criteria andRechargeIsNotNull() {
            addCriterion("recharge is not null");
            return (Criteria) this;
        }

        public Criteria andRechargeEqualTo(BigDecimal value) {
            addCriterion("recharge =", value, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeNotEqualTo(BigDecimal value) {
            addCriterion("recharge <>", value, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeGreaterThan(BigDecimal value) {
            addCriterion("recharge >", value, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("recharge >=", value, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeLessThan(BigDecimal value) {
            addCriterion("recharge <", value, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("recharge <=", value, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeIn(List<BigDecimal> values) {
            addCriterion("recharge in", values, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeNotIn(List<BigDecimal> values) {
            addCriterion("recharge not in", values, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("recharge between", value1, value2, "recharge");
            return (Criteria) this;
        }

        public Criteria andRechargeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("recharge not between", value1, value2, "recharge");
            return (Criteria) this;
        }

        public Criteria andOtherPayIsNull() {
            addCriterion("other_pay is null");
            return (Criteria) this;
        }

        public Criteria andOtherPayIsNotNull() {
            addCriterion("other_pay is not null");
            return (Criteria) this;
        }

        public Criteria andOtherPayEqualTo(BigDecimal value) {
            addCriterion("other_pay =", value, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayNotEqualTo(BigDecimal value) {
            addCriterion("other_pay <>", value, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayGreaterThan(BigDecimal value) {
            addCriterion("other_pay >", value, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("other_pay >=", value, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayLessThan(BigDecimal value) {
            addCriterion("other_pay <", value, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayLessThanOrEqualTo(BigDecimal value) {
            addCriterion("other_pay <=", value, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayIn(List<BigDecimal> values) {
            addCriterion("other_pay in", values, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayNotIn(List<BigDecimal> values) {
            addCriterion("other_pay not in", values, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("other_pay between", value1, value2, "otherPay");
            return (Criteria) this;
        }

        public Criteria andOtherPayNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("other_pay not between", value1, value2, "otherPay");
            return (Criteria) this;
        }

        public Criteria andAlipayIsNull() {
            addCriterion("alipay is null");
            return (Criteria) this;
        }

        public Criteria andAlipayIsNotNull() {
            addCriterion("alipay is not null");
            return (Criteria) this;
        }

        public Criteria andAlipayEqualTo(BigDecimal value) {
            addCriterion("alipay =", value, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayNotEqualTo(BigDecimal value) {
            addCriterion("alipay <>", value, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayGreaterThan(BigDecimal value) {
            addCriterion("alipay >", value, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("alipay >=", value, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayLessThan(BigDecimal value) {
            addCriterion("alipay <", value, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayLessThanOrEqualTo(BigDecimal value) {
            addCriterion("alipay <=", value, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayIn(List<BigDecimal> values) {
            addCriterion("alipay in", values, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayNotIn(List<BigDecimal> values) {
            addCriterion("alipay not in", values, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("alipay between", value1, value2, "alipay");
            return (Criteria) this;
        }

        public Criteria andAlipayNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("alipay not between", value1, value2, "alipay");
            return (Criteria) this;
        }

        public Criteria andJobnumIsNull() {
            addCriterion("jobnum is null");
            return (Criteria) this;
        }

        public Criteria andJobnumIsNotNull() {
            addCriterion("jobnum is not null");
            return (Criteria) this;
        }

        public Criteria andJobnumEqualTo(String value) {
            addCriterion("jobnum =", value, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumNotEqualTo(String value) {
            addCriterion("jobnum <>", value, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumGreaterThan(String value) {
            addCriterion("jobnum >", value, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumGreaterThanOrEqualTo(String value) {
            addCriterion("jobnum >=", value, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumLessThan(String value) {
            addCriterion("jobnum <", value, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumLessThanOrEqualTo(String value) {
            addCriterion("jobnum <=", value, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumLike(String value) {
            addCriterion("jobnum like", value, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumNotLike(String value) {
            addCriterion("jobnum not like", value, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumIn(List<String> values) {
            addCriterion("jobnum in", values, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumNotIn(List<String> values) {
            addCriterion("jobnum not in", values, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumBetween(String value1, String value2) {
            addCriterion("jobnum between", value1, value2, "jobnum");
            return (Criteria) this;
        }

        public Criteria andJobnumNotBetween(String value1, String value2) {
            addCriterion("jobnum not between", value1, value2, "jobnum");
            return (Criteria) this;
        }

        public Criteria andRechargeCashIsNull() {
            addCriterion("recharge_cash is null");
            return (Criteria) this;
        }

        public Criteria andRechargeCashIsNotNull() {
            addCriterion("recharge_cash is not null");
            return (Criteria) this;
        }

        public Criteria andRechargeCashEqualTo(BigDecimal value) {
            addCriterion("recharge_cash =", value, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashNotEqualTo(BigDecimal value) {
            addCriterion("recharge_cash <>", value, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashGreaterThan(BigDecimal value) {
            addCriterion("recharge_cash >", value, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("recharge_cash >=", value, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashLessThan(BigDecimal value) {
            addCriterion("recharge_cash <", value, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashLessThanOrEqualTo(BigDecimal value) {
            addCriterion("recharge_cash <=", value, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashIn(List<BigDecimal> values) {
            addCriterion("recharge_cash in", values, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashNotIn(List<BigDecimal> values) {
            addCriterion("recharge_cash not in", values, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("recharge_cash between", value1, value2, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeCashNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("recharge_cash not between", value1, value2, "rechargeCash");
            return (Criteria) this;
        }

        public Criteria andRechargeWxIsNull() {
            addCriterion("recharge_wx is null");
            return (Criteria) this;
        }

        public Criteria andRechargeWxIsNotNull() {
            addCriterion("recharge_wx is not null");
            return (Criteria) this;
        }

        public Criteria andRechargeWxEqualTo(BigDecimal value) {
            addCriterion("recharge_wx =", value, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxNotEqualTo(BigDecimal value) {
            addCriterion("recharge_wx <>", value, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxGreaterThan(BigDecimal value) {
            addCriterion("recharge_wx >", value, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("recharge_wx >=", value, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxLessThan(BigDecimal value) {
            addCriterion("recharge_wx <", value, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxLessThanOrEqualTo(BigDecimal value) {
            addCriterion("recharge_wx <=", value, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxIn(List<BigDecimal> values) {
            addCriterion("recharge_wx in", values, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxNotIn(List<BigDecimal> values) {
            addCriterion("recharge_wx not in", values, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("recharge_wx between", value1, value2, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeWxNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("recharge_wx not between", value1, value2, "rechargeWx");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbIsNull() {
            addCriterion("recharge_zfb is null");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbIsNotNull() {
            addCriterion("recharge_zfb is not null");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbEqualTo(BigDecimal value) {
            addCriterion("recharge_zfb =", value, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbNotEqualTo(BigDecimal value) {
            addCriterion("recharge_zfb <>", value, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbGreaterThan(BigDecimal value) {
            addCriterion("recharge_zfb >", value, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("recharge_zfb >=", value, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbLessThan(BigDecimal value) {
            addCriterion("recharge_zfb <", value, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbLessThanOrEqualTo(BigDecimal value) {
            addCriterion("recharge_zfb <=", value, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbIn(List<BigDecimal> values) {
            addCriterion("recharge_zfb in", values, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbNotIn(List<BigDecimal> values) {
            addCriterion("recharge_zfb not in", values, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("recharge_zfb between", value1, value2, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andRechargeZfbNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("recharge_zfb not between", value1, value2, "rechargeZfb");
            return (Criteria) this;
        }

        public Criteria andCashBoxIsNull() {
            addCriterion("cash_box is null");
            return (Criteria) this;
        }

        public Criteria andCashBoxIsNotNull() {
            addCriterion("cash_box is not null");
            return (Criteria) this;
        }

        public Criteria andCashBoxEqualTo(BigDecimal value) {
            addCriterion("cash_box =", value, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxNotEqualTo(BigDecimal value) {
            addCriterion("cash_box <>", value, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxGreaterThan(BigDecimal value) {
            addCriterion("cash_box >", value, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cash_box >=", value, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxLessThan(BigDecimal value) {
            addCriterion("cash_box <", value, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cash_box <=", value, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxIn(List<BigDecimal> values) {
            addCriterion("cash_box in", values, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxNotIn(List<BigDecimal> values) {
            addCriterion("cash_box not in", values, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cash_box between", value1, value2, "cashBox");
            return (Criteria) this;
        }

        public Criteria andCashBoxNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cash_box not between", value1, value2, "cashBox");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonIsNull() {
            addCriterion("other_pay_json is null");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonIsNotNull() {
            addCriterion("other_pay_json is not null");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonEqualTo(String value) {
            addCriterion("other_pay_json =", value, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonNotEqualTo(String value) {
            addCriterion("other_pay_json <>", value, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonGreaterThan(String value) {
            addCriterion("other_pay_json >", value, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonGreaterThanOrEqualTo(String value) {
            addCriterion("other_pay_json >=", value, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonLessThan(String value) {
            addCriterion("other_pay_json <", value, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonLessThanOrEqualTo(String value) {
            addCriterion("other_pay_json <=", value, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonLike(String value) {
            addCriterion("other_pay_json like", value, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonNotLike(String value) {
            addCriterion("other_pay_json not like", value, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonIn(List<String> values) {
            addCriterion("other_pay_json in", values, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonNotIn(List<String> values) {
            addCriterion("other_pay_json not in", values, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonBetween(String value1, String value2) {
            addCriterion("other_pay_json between", value1, value2, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andOtherPayJsonNotBetween(String value1, String value2) {
            addCriterion("other_pay_json not between", value1, value2, "otherPayJson");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyIsNull() {
            addCriterion("credit_arrea_money is null");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyIsNotNull() {
            addCriterion("credit_arrea_money is not null");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyEqualTo(BigDecimal value) {
            addCriterion("credit_arrea_money =", value, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyNotEqualTo(BigDecimal value) {
            addCriterion("credit_arrea_money <>", value, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyGreaterThan(BigDecimal value) {
            addCriterion("credit_arrea_money >", value, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("credit_arrea_money >=", value, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyLessThan(BigDecimal value) {
            addCriterion("credit_arrea_money <", value, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("credit_arrea_money <=", value, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyIn(List<BigDecimal> values) {
            addCriterion("credit_arrea_money in", values, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyNotIn(List<BigDecimal> values) {
            addCriterion("credit_arrea_money not in", values, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("credit_arrea_money between", value1, value2, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditArreaMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("credit_arrea_money not between", value1, value2, "creditArreaMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyIsNull() {
            addCriterion("credit_repay_money is null");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyIsNotNull() {
            addCriterion("credit_repay_money is not null");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyEqualTo(BigDecimal value) {
            addCriterion("credit_repay_money =", value, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyNotEqualTo(BigDecimal value) {
            addCriterion("credit_repay_money <>", value, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyGreaterThan(BigDecimal value) {
            addCriterion("credit_repay_money >", value, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("credit_repay_money >=", value, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyLessThan(BigDecimal value) {
            addCriterion("credit_repay_money <", value, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("credit_repay_money <=", value, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyIn(List<BigDecimal> values) {
            addCriterion("credit_repay_money in", values, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyNotIn(List<BigDecimal> values) {
            addCriterion("credit_repay_money not in", values, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("credit_repay_money between", value1, value2, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCreditRepayMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("credit_repay_money not between", value1, value2, "creditRepayMoney");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartIsNull() {
            addCriterion("cash_box_start is null");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartIsNotNull() {
            addCriterion("cash_box_start is not null");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartEqualTo(BigDecimal value) {
            addCriterion("cash_box_start =", value, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartNotEqualTo(BigDecimal value) {
            addCriterion("cash_box_start <>", value, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartGreaterThan(BigDecimal value) {
            addCriterion("cash_box_start >", value, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cash_box_start >=", value, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartLessThan(BigDecimal value) {
            addCriterion("cash_box_start <", value, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cash_box_start <=", value, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartIn(List<BigDecimal> values) {
            addCriterion("cash_box_start in", values, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartNotIn(List<BigDecimal> values) {
            addCriterion("cash_box_start not in", values, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cash_box_start between", value1, value2, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andCashBoxStartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cash_box_start not between", value1, value2, "cashBoxStart");
            return (Criteria) this;
        }

        public Criteria andMecMoneyIsNull() {
            addCriterion("mec_money is null");
            return (Criteria) this;
        }

        public Criteria andMecMoneyIsNotNull() {
            addCriterion("mec_money is not null");
            return (Criteria) this;
        }

        public Criteria andMecMoneyEqualTo(BigDecimal value) {
            addCriterion("mec_money =", value, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyNotEqualTo(BigDecimal value) {
            addCriterion("mec_money <>", value, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyGreaterThan(BigDecimal value) {
            addCriterion("mec_money >", value, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("mec_money >=", value, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyLessThan(BigDecimal value) {
            addCriterion("mec_money <", value, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("mec_money <=", value, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyIn(List<BigDecimal> values) {
            addCriterion("mec_money in", values, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyNotIn(List<BigDecimal> values) {
            addCriterion("mec_money not in", values, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("mec_money between", value1, value2, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andMecMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("mec_money not between", value1, value2, "mecMoney");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagIsNull() {
            addCriterion("delete_flag is null");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagIsNotNull() {
            addCriterion("delete_flag is not null");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagEqualTo(String value) {
            addCriterion("delete_flag =", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagNotEqualTo(String value) {
            addCriterion("delete_flag <>", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagGreaterThan(String value) {
            addCriterion("delete_flag >", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagGreaterThanOrEqualTo(String value) {
            addCriterion("delete_flag >=", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagLessThan(String value) {
            addCriterion("delete_flag <", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagLessThanOrEqualTo(String value) {
            addCriterion("delete_flag <=", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagLike(String value) {
            addCriterion("delete_flag like", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagNotLike(String value) {
            addCriterion("delete_flag not like", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagIn(List<String> values) {
            addCriterion("delete_flag in", values, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagNotIn(List<String> values) {
            addCriterion("delete_flag not in", values, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagBetween(String value1, String value2) {
            addCriterion("delete_flag between", value1, value2, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagNotBetween(String value1, String value2) {
            addCriterion("delete_flag not between", value1, value2, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNull() {
            addCriterion("tenant_id is null");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNotNull() {
            addCriterion("tenant_id is not null");
            return (Criteria) this;
        }

        public Criteria andTenantIdEqualTo(String value) {
            addCriterion("tenant_id =", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotEqualTo(String value) {
            addCriterion("tenant_id <>", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThan(String value) {
            addCriterion("tenant_id >", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThanOrEqualTo(String value) {
            addCriterion("tenant_id >=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThan(String value) {
            addCriterion("tenant_id <", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThanOrEqualTo(String value) {
            addCriterion("tenant_id <=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLike(String value) {
            addCriterion("tenant_id like", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotLike(String value) {
            addCriterion("tenant_id not like", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdIn(List<String> values) {
            addCriterion("tenant_id in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotIn(List<String> values) {
            addCriterion("tenant_id not in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdBetween(String value1, String value2) {
            addCriterion("tenant_id between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotBetween(String value1, String value2) {
            addCriterion("tenant_id not between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andUploadFlagIsNull() {
            addCriterion("upload_flag is null");
            return (Criteria) this;
        }

        public Criteria andUploadFlagIsNotNull() {
            addCriterion("upload_flag is not null");
            return (Criteria) this;
        }

        public Criteria andUploadFlagEqualTo(String value) {
            addCriterion("upload_flag =", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagNotEqualTo(String value) {
            addCriterion("upload_flag <>", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagGreaterThan(String value) {
            addCriterion("upload_flag >", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagGreaterThanOrEqualTo(String value) {
            addCriterion("upload_flag >=", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagLessThan(String value) {
            addCriterion("upload_flag <", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagLessThanOrEqualTo(String value) {
            addCriterion("upload_flag <=", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagLike(String value) {
            addCriterion("upload_flag like", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagNotLike(String value) {
            addCriterion("upload_flag not like", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagIn(List<String> values) {
            addCriterion("upload_flag in", values, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagNotIn(List<String> values) {
            addCriterion("upload_flag not in", values, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagBetween(String value1, String value2) {
            addCriterion("upload_flag between", value1, value2, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagNotBetween(String value1, String value2) {
            addCriterion("upload_flag not between", value1, value2, "uploadFlag");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}